Digital storage systems provide integral services for a variety of computing systems. For example, an enterprise may run a storage system to manage backup images of critical computing systems. Other storage systems host databases used in various online activities, from database management to content hosting. Larger storage systems may host and/or manage data for many different applications or entities, often utilizing various quality-of-service systems to allocate storage-system bandwidth between such applications entities based on system capacity, demand, and/or applicable service-level agreements.
Unfortunately, traditional quality-of-service systems generally evaluate the “cost” of performing an input/output operation on a storage system based merely on the size of the requested operation. For example, traditional quality-of-service systems often assume that a 64 KB input/output operation “costs” twice as much to execute as a 32 KB operation since the 64 KB operation is twice the size of the 32 KB operation. However, because the actual impact of an operation may not scale linearly with its size, traditional quality-of-service systems may waste significant amounts of processing bandwidth. The instant disclosure, therefore, identifies and addresses a need for improved systems and methods for allocating input/output bandwidth in storage systems.